<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="985e3d7c-8ece-4833-89b0-0f9a6376bb1b" name="Changes" comment="security">
      <change afterPath="$PROJECT_DIR$/doc/source/client.rst" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/doc/source/common.rst" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/doc/source/launcher.rst" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/doc/source/log.rst" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/doc/source/server.rst" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/async_chat_new.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/async_chat_new.iml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client.py" beforeDir="false" afterPath="$PROJECT_DIR$/client.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/add_contact.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/add_contact.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/database.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/database.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/del_contact.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/del_contact.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/main_window.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/main_window.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/start_dialog.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/start_dialog.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client/transport.py" beforeDir="false" afterPath="$PROJECT_DIR$/client/transport.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/client_log.log" beforeDir="false" afterPath="$PROJECT_DIR$/client_log.log" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/common/errors.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/errors.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/common/metaclasses.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/metaclasses.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/common/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/utils.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/common/variables.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/variables.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/common/wrapper.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/wrapper.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/lesson_1/text_for_six.txt" beforeDir="false" afterPath="$PROJECT_DIR$/lesson_1/text_for_six.txt" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/lesson_2/data_report.csv" beforeDir="false" afterPath="$PROJECT_DIR$/lesson_2/data_report.csv" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server.py" beforeDir="false" afterPath="$PROJECT_DIR$/server.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/add_user.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/add_user.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/config_window.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/config_window.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/core.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/main_winwow.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/main_winwow.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/remove_user.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/remove_user.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/server_data_base.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/server_data_base.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server/stat_window.py" beforeDir="false" afterPath="$PROJECT_DIR$/server/stat_window.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server_gui.py" beforeDir="false" afterPath="$PROJECT_DIR$/server_gui.py" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/server_log.log" beforeDir="false" afterPath="$PROJECT_DIR$/server_log.log" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="FileTemplateManagerImpl">
    <option name="RECENT_TEMPLATES">
      <list>
        <option value="Python Script" />
      </list>
    </option>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_BRANCH_BY_REPOSITORY">
      <map>
        <entry key="$PROJECT_DIR$" value="main" />
      </map>
    </option>
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="MarkdownSettingsMigration">
    <option name="stateVersion" value="1" />
  </component>
  <component name="ProjectId" id="2G0AVlalagZtZ1ZMUgACe0amXZw" />
  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
    <ConfirmationsSetting value="2" id="Add" />
  </component>
  <component name="ProjectViewState">
    <option name="hideEmptyMiddlePackages" value="true" />
    <option name="showLibraryContents" value="true" />
  </component>
  <component name="PropertiesComponent">{
  &quot;keyToString&quot;: {
    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
    &quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
    &quot;last_opened_file_path&quot;: &quot;/Users/mac/PycharmProjects/async_chat_new/lesson_13/client_face&quot;,
    &quot;settings.editor.selected.configurable&quot;: &quot;com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable&quot;
  }
}</component>
  <component name="RecentsManager">
    <key name="CopyFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$/lesson_13/client_face" />
      <recent name="$PROJECT_DIR$/lesson_12" />
      <recent name="$PROJECT_DIR$/lesson_1" />
    </key>
    <key name="MoveFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$" />
      <recent name="$PROJECT_DIR$/server" />
      <recent name="$PROJECT_DIR$/common" />
      <recent name="$PROJECT_DIR$/lesson_12" />
      <recent name="$PROJECT_DIR$/lesson_3" />
    </key>
  </component>
  <component name="RunManager" selected="Python.database">
    <configuration name="database" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
      <module name="async_chat_new" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/client" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/client/database.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
    <configuration name="main_window" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
      <module name="async_chat_new" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/client" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/client/main_window.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
    <configuration name="main_winwow" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
      <module name="async_chat_new" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/server" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/server/main_winwow.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
    <configuration name="start_dialog" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
      <module name="async_chat_new" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/client" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/client/start_dialog.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
    <configuration name="transport" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
      <module name="async_chat_new" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/client" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/client/transport.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
    <recent_temporary>
      <list>
        <item itemvalue="Python.database" />
        <item itemvalue="Python.transport" />
        <item itemvalue="Python.start_dialog" />
        <item itemvalue="Python.main_window" />
        <item itemvalue="Python.main_winwow" />
      </list>
    </recent_temporary>
  </component>
  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="985e3d7c-8ece-4833-89b0-0f9a6376bb1b" name="Changes" comment="" />
      <created>1665515153394</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1665515153394</updated>
    </task>
    <task id="LOCAL-00001" summary="lesson 1 done">
      <created>1665521927962</created>
      <option name="number" value="00001" />
      <option name="presentableId" value="LOCAL-00001" />
      <option name="project" value="LOCAL" />
      <updated>1665521927962</updated>
    </task>
    <task id="LOCAL-00002" summary="lesson 1 corrected ex 3, 5 and 6">
      <created>1665777213768</created>
      <option name="number" value="00002" />
      <option name="presentableId" value="LOCAL-00002" />
      <option name="project" value="LOCAL" />
      <updated>1665777213768</updated>
    </task>
    <task id="LOCAL-00003" summary="lesson 2">
      <created>1665953010952</created>
      <option name="number" value="00003" />
      <option name="presentableId" value="LOCAL-00003" />
      <option name="project" value="LOCAL" />
      <updated>1665953010952</updated>
    </task>
    <task id="LOCAL-00004" summary="Testing with unittests">
      <created>1666816544435</created>
      <option name="number" value="00004" />
      <option name="presentableId" value="LOCAL-00004" />
      <option name="project" value="LOCAL" />
      <updated>1666816544435</updated>
    </task>
    <task id="LOCAL-00005" summary="Add Loggers for Server and Client">
      <created>1667942379052</created>
      <option name="number" value="00005" />
      <option name="presentableId" value="LOCAL-00005" />
      <option name="project" value="LOCAL" />
      <updated>1667942379052</updated>
    </task>
    <task id="LOCAL-00006" summary="Added Decorator @log">
      <created>1668372324711</created>
      <option name="number" value="00006" />
      <option name="presentableId" value="LOCAL-00006" />
      <option name="project" value="LOCAL" />
      <updated>1668372324711</updated>
    </task>
    <task id="LOCAL-00007" summary="refactoring Decorator @log">
      <created>1668454103195</created>
      <option name="number" value="00007" />
      <option name="presentableId" value="LOCAL-00007" />
      <option name="project" value="LOCAL" />
      <updated>1668454103195</updated>
    </task>
    <task id="LOCAL-00008" summary="Multiple clients on the server using the select">
      <created>1668635122657</created>
      <option name="number" value="00008" />
      <option name="presentableId" value="LOCAL-00008" />
      <option name="project" value="LOCAL" />
      <updated>1668635122657</updated>
    </task>
    <task id="LOCAL-00009" summary="P2P">
      <created>1668977837702</created>
      <option name="number" value="00009" />
      <option name="presentableId" value="LOCAL-00009" />
      <option name="project" value="LOCAL" />
      <updated>1668977837702</updated>
    </task>
    <task id="LOCAL-00010" summary="P2P">
      <created>1668977848006</created>
      <option name="number" value="00010" />
      <option name="presentableId" value="LOCAL-00010" />
      <option name="project" value="LOCAL" />
      <updated>1668977848006</updated>
    </task>
    <task id="LOCAL-00011" summary="Ping function added">
      <created>1669405658443</created>
      <option name="number" value="00011" />
      <option name="presentableId" value="LOCAL-00011" />
      <option name="project" value="LOCAL" />
      <updated>1669405658443</updated>
    </task>
    <task id="LOCAL-00012" summary="Client and Server are updeated with MetaClasses">
      <created>1669756311442</created>
      <option name="number" value="00012" />
      <option name="presentableId" value="LOCAL-00012" />
      <option name="project" value="LOCAL" />
      <updated>1669756311442</updated>
    </task>
    <task id="LOCAL-00013" summary="Started 'storage' DB with SQLAlchemy">
      <created>1669847326750</created>
      <option name="number" value="00013" />
      <option name="presentableId" value="LOCAL-00013" />
      <option name="project" value="LOCAL" />
      <updated>1669847326750</updated>
    </task>
    <task id="LOCAL-00014" summary="Data storage and started GUI application">
      <created>1670234564960</created>
      <option name="number" value="00014" />
      <option name="presentableId" value="LOCAL-00014" />
      <option name="project" value="LOCAL" />
      <updated>1670234564960</updated>
    </task>
    <task id="LOCAL-00015" summary="Connect to Storage">
      <created>1670355568521</created>
      <option name="number" value="00015" />
      <option name="presentableId" value="LOCAL-00015" />
      <option name="project" value="LOCAL" />
      <updated>1670355568521</updated>
    </task>
    <task id="LOCAL-00016" summary="Client side GUI">
      <created>1670448317977</created>
      <option name="number" value="00016" />
      <option name="presentableId" value="LOCAL-00016" />
      <option name="project" value="LOCAL" />
      <updated>1670448317977</updated>
    </task>
    <task id="LOCAL-00017" summary="Client side GUI">
      <created>1670698983883</created>
      <option name="number" value="00017" />
      <option name="presentableId" value="LOCAL-00017" />
      <option name="project" value="LOCAL" />
      <updated>1670698983883</updated>
    </task>
    <task id="LOCAL-00018" summary="security">
      <created>1670759273765</created>
      <option name="number" value="00018" />
      <option name="presentableId" value="LOCAL-00018" />
      <option name="project" value="LOCAL" />
      <updated>1670759273765</updated>
    </task>
    <option name="localTasksCounter" value="19" />
    <servers />
  </component>
  <component name="Vcs.Log.Tabs.Properties">
    <option name="TAB_STATES">
      <map>
        <entry key="MAIN">
          <value>
            <State />
          </value>
        </entry>
      </map>
    </option>
  </component>
  <component name="VcsManagerConfiguration">
    <MESSAGE value="lesson 1 done" />
    <MESSAGE value="lesson 1 corrected ex 3, 5 and 6" />
    <MESSAGE value="lesson 2" />
    <MESSAGE value="Testing with unittests" />
    <MESSAGE value="Add Loggers for Server and Client" />
    <MESSAGE value="Added Decorator @log" />
    <MESSAGE value="refactoring Decorator @log" />
    <MESSAGE value="Multiple clients on the server using the select" />
    <MESSAGE value="P2P" />
    <MESSAGE value="Ping function added" />
    <MESSAGE value="Client and Server are updeated with MetaClasses" />
    <MESSAGE value="Started 'storage' DB with SQLAlchemy" />
    <MESSAGE value="Data storage and started GUI application" />
    <MESSAGE value="Connect to Storage" />
    <MESSAGE value="Client side GUI" />
    <MESSAGE value="security" />
    <option name="LAST_COMMIT_MESSAGE" value="security" />
  </component>
</project>